
#include "./inc/Main.h"
#include "./src/engine/GameEngine.h"

class GameEngine;

GameEngine game;

/**
 * @brief 帧循环，每一帧会执行其中的逻辑
 *
 * @param deltaTime 提供每一帧的物理时间间隔
 */
void frameLoop(float deltaTime)
{
    game.Start();
}

int main(int argc, char *argv[]) {
    spdlog::cfg::load_argv_levels(argc, argv);
    spdlog::info("start engine");
    game.Initialize();
    FrameRateController controller(game.GetFps());
    // 使用Lambda表达式传递帧逻辑
    controller.Start(frameLoop);
    return 0;
}

